package com.juzi.thefinal;



public class Test2 {


    /**
        2、修饰静态成员变量（public static final修饰的也成为常量）
     */
    public static final String schoolName = "桔子";

    /**
     * 3、修饰实例成员变量 （几乎不用）
     */

    private final String name = "夏天";


    public static void main(String[] args) {
        //目标：理解final修饰变量，总规则，变量有且仅能被赋值一次（理解语法）
        //变量有两种
        //  1、局部变量
        //  2、成员变量
        //      --实例成员变量
        //      --静态成员变量

        //静态成员变量
//        schoolName = "耳朵";//第二次赋值


        //局部变量
        final double d = 3.14;
//        d = 3.12;//第二次赋值


        Test2 t = new Test2();
        System.out.println(t.name);
//        t.name= "熊";

        //注意：final修饰引用类型的变量，其地址不能改变，但是指向的对象可以改变
        final teacher t2 = new teacher("学习，教书，玩");
//        t2 = null;//第二次赋值

        System.out.println(t2.getHobby());
        t2.setHobby("运动");
        System.out.println(t2.getHobby());
    }

        //局部变量
    public static void buy(final double z){
//        z = 0.1;//第二次
    }
}

class  teacher {
    private String hobby;

    public teacher(String hobby) {
        this.hobby = hobby;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
}